Databases are a very important in modern information technology. Relational database systems are widely applied for storing and retrieving a variety of information. However, with the occurrence of a huge amount of users, big data and the cloud computing, the relational database is no longer capable of meeting the needs of newly developed information technology. For example, a three-tier architecture used in the cloud computing and a dynamic scale-out in database are not suitable to adopt the relational database. For this matter, the industry proposes non-relational databases (NoSQL). The table in the relational database usually stores formatted data structure with same field composition of each record. Even if not every record needs all fields, the relational database will assign all the fields for each record. This structure of above causes the performance bottleneck of the relational database. In contrast, although the non-relational database also stores data in manner of key-value pair, it structure is not fixed, different records can have different fields, and each record may add or reduce some key-value pairs as required, which may decrease cost of time and space without being limited to a fixed structure. As for developers, with the use of non-relational database, application developing efficiency can be increased by more flexible data models, and more users and more data can be supported by better dynamical scaling, and users' needs for applications with high response speed can be better satisfied.
However, since the non-relational database has flexible data models (for example, sparse, evolutionary and not flatten) and no metadata catalogue, there lacks efficient metadata management for non-relational databases, so that the enforcement of the data models of non-relational databases is difficult to be guaranteed. In relational database, the schemas of records of each object type are the same. However, in non-relational database, schemas of different records of the same object type may be different. For example, 5000 records of an object type Drug in a non-relational database DrugStore may have 10,100, or more schemas, and the number of schemas may even increase if the number of records increases. Thus, in order to enforce and utilize the non-relational database, the schemas of records need to be identified to build a metadata repository. Currently, developers may manually build and use a design document to record and check data models. However, this manner is time-consuming, and not flexible or expansive.